package com.hongyun.sdk.customer.response;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@NoArgsConstructor
@Data
public class HYStationResponse {

    @JsonProperty("status")
    private String status;
    @JsonProperty("errorCode")
    private Object errorCode;
    @JsonProperty("errorMsg")
    private Object errorMsg;
    @JsonProperty("content")
    private ContentDTO content;
    @JsonProperty("success")
    private Boolean success;

    @NoArgsConstructor
    @Data
    public static class ContentDTO {
        @JsonProperty("pageNum")
        private Integer pageNum;
        @JsonProperty("pageSize")
        private Integer pageSize;
        @JsonProperty("size")
        private Integer size;
        @JsonProperty("orderBy")
        private Object orderBy;
        @JsonProperty("startRow")
        private Integer startRow;
        @JsonProperty("endRow")
        private Integer endRow;
        @JsonProperty("total")
        private Integer total;
        @JsonProperty("pages")
        private Integer pages;
        @JsonProperty("list")
        private List<ListDTO> list;
        @JsonProperty("firstPage")
        private Integer firstPage;
        @JsonProperty("prePage")
        private Integer prePage;
        @JsonProperty("nextPage")
        private Integer nextPage;
        @JsonProperty("lastPage")
        private Integer lastPage;
        @JsonProperty("isFirstPage")
        private Boolean isFirstPage;
        @JsonProperty("isLastPage")
        private Boolean isLastPage;
        @JsonProperty("hasPreviousPage")
        private Boolean hasPreviousPage;
        @JsonProperty("hasNextPage")
        private Boolean hasNextPage;
        @JsonProperty("navigatePages")
        private Integer navigatePages;
        @JsonProperty("navigatepageNums")
        private List<Integer> navigatepageNums;

        @NoArgsConstructor
        @Data
        public static class ListDTO {
            @JsonProperty("merchantGasStationId")
            private Integer merchantGasStationId;
            @JsonProperty("merchantGasStationName")
            private String merchantGasStationName;
            @JsonProperty("provinceCode")
            private String provinceCode;
            @JsonProperty("provinceName")
            private String provinceName;
            @JsonProperty("cityCode")
            private String cityCode;
            @JsonProperty("cityName")
            private String cityName;
            @JsonProperty("districtCode")
            private Object districtCode;
            @JsonProperty("districtName")
            private Object districtName;
            @JsonProperty("address")
            private String address;
            @JsonProperty("gdLng")
            private Double gdLng;
            @JsonProperty("gdLat")
            private Double gdLat;
            @JsonProperty("pictures")
            private String pictures;
            @JsonProperty("status")
            private String status;
            @JsonProperty("bizParams")
            private Object bizParams;
            @JsonProperty("brandName")
            private Object brandName;
            @JsonProperty("isHighSpeed")
            private Integer isHighSpeed;
            @JsonProperty("tag")
            private Object tag;
            @JsonProperty("isWriteOff")
            private Integer isWriteOff;
            @JsonProperty("fuels")
            private List<FuelsDTO> fuels;

            @NoArgsConstructor
            @Data
            public static class FuelsDTO {
                @JsonProperty("priceId")
                private Integer priceId;
                @JsonProperty("merchantGasStationId")
                private Integer merchantGasStationId;
                @JsonProperty("fuelNo")
                private Integer fuelNo;
                @JsonProperty("fuelName")
                private String fuelName;
                @JsonProperty("status")
                private String status;
                @JsonProperty("gbPrice")
                private Integer gbPrice;
                @JsonProperty("qbPrice")
                private Integer qbPrice;
                @JsonProperty("jsPrice")
                private Object jsPrice;
                @JsonProperty("discount")
                private Integer discount;
                @JsonProperty("fuelNumber")
                private Object fuelNumber;
                @JsonProperty("fuelDesc")
                private Object fuelDesc;
            }
        }
    }
}
